package io.char_stream;


import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*

字符流也可以拷贝文本文件, 但不推荐使用.
    因为读取时会把字节转为字符, 写出时还要把字符转回字节.
    程序需要读取一段文本, 或者需要写出一段文本的时候可以使用字符流
    读取的时候是按照字符的大小读取的,不会出现半个中文
    写出的时候可以直接将字符串写出,不用转换为字节数组
(也就是只读或者只写的时候用字符流！！！)
* 字符流是否可以拷贝非纯文本的文件???
不可以拷贝非纯文本的文件
因为在读的时候会将字节转换为字符,在转换过程中,可能找不到对应的字符,就会用?代替,写出的时候会将字符转换成字节写出去
如果是?,直接写出,这样写出之后的文件就乱了,看不了了

 */
public class Demo03_FileReader {
    public static void main(String[] args) throws IOException {
        //extracted();
        //extracted1();



    }

    private static void extracted1() throws IOException {
        //自定义字符数组提升效率
        FileReader fr = new FileReader("D:\\wangdao_study\\studyHard\\添狗.txt");
        FileWriter fw = new FileWriter("222.txt");

        char[] arr = new char[1024];
        int len;
        while((len = fr.read(arr)) != -1) {
            fw.write(arr,0,len);
        }

        fr.close();
        fw.close();
    }

    private static void extracted() throws IOException {
        FileReader fr = new FileReader("D:\\wangdao_study\\studyHard\\添狗.txt");
        FileWriter fw = new FileWriter("FileWriter_舔狗.txt");

        int len;

        while((len = fr.read()) != -1) {
            fw.write(len);
        }

        fr.close();
        fw.close();
    }
}
